#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>

#include "lista.h"

#define PATH_MATRIZ_A "../txt/matriz_a.txt"
#define PATH_MATRIZ_B "../txt/matriz_b.txt"
#define PATH_MATRIZ_C "../txt/matriz_c.txt"

typedef struct {
  unsigned int num_linhas;
  unsigned int num_colunas;
  lista **linhas;
  lista **colunas;
} matriz;

void le_matriz(matriz* mat, const char* path_file);

void apaga_matriz(matriz* mat);

void soma_matriz(const matriz *mat_a, const matriz *mat_b, matriz *mat_soma);

void multiplica_matriz(const matriz *mat_a, const matriz *mat_b, matriz *mat_produto);

void imprime_matriz(matriz mat);